package com.boliq.lol.base;

import android.content.Context;
import android.os.Bundle;

import androidx.annotation.LayoutRes;
import androidx.annotation.Nullable;
import androidx.appcompat.app.AppCompatActivity;

public abstract class BaseActivity extends AppCompatActivity {

    @Override
    protected void onCreate(@Nullable Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(contentView());//就是设置一个Activity的显示界面
        initView();//进行一些初始化的定义,把他们都放在一个initView里面,然后直接调用这个函数就可以完成初始化了
        initData();//初始数据子线程
        bindData();//定义一个函数保存数据绑定相关代码
        bindEvent();//定义函数封装页面或者某个模块的事件
        operation();
    }

    protected abstract @LayoutRes
    int contentView();

    protected abstract void initView();

    protected abstract void initData();

    protected void bindData() {
    }

    protected abstract void bindEvent();

    protected void operation() {
    }

    protected Context getContext() {
        return this;
    }
}